import tensorflow as tf

# 创建一个形状为 [4, 4] 的全0矩阵
zeros_matrix = tf.zeros(shape=[4, 4])
tf.print("Zeros Matrix:", zeros_matrix)

# 创建一个从0开始到15结束（不包含16）的整数张量
range_tensor = tf.range(start=0, limit=16, dtype=tf.int32)
tf.print("Range Tensor:", range_tensor)

# 对range_tensor进行重塑，形状变为 [4, 4]
reshaped_tensor = tf.reshape(range_tensor, shape=[4, 4])
tf.print("Reshaped Tensor:", reshaped_tensor)

# 从reshaped_tensor中取第2行到第3行（不包含第4行），第2列到第3列（不包含第4列）的元素
sliced_matrix = reshaped_tensor[1:3, 1:3]
tf.print("Sliced Matrix:", sliced_matrix)

# 计算reshaped_tensor中所有元素的和
sum_value = tf.reduce_sum(reshaped_tensor)
tf.print("Sum Value:", sum_value)

# 创建一个形状为 [3, 3] 的随机均匀分布的矩阵
random_uniform_matrix = tf.random.uniform(shape=[3, 3])
tf.print("Random Uniform Matrix:", random_uniform_matrix)

# 创建一个形状为 [3] 的整数张量
int_tensor = tf.constant([10, 20, 30], dtype=tf.int32)
tf.print("Integer Tensor:", int_tensor)

# 将int_tensor的数据类型转换为float32
float_tensor = tf.cast(int_tensor, tf.float32)
tf.print("Float Tensor:", float_tensor)

# 创建一个形状为 [2, 2, 2] 的常数矩阵
constant_matrix = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
tf.print("Constant Matrix:", constant_matrix)

# 在constant_matrix的第二个维度之后增加一个新的维度，使其形状变为 [2, 2, 1, 2]
expanded_matrix = tf.expand_dims(constant_matrix, axis=2)
tf.print("Expanded Matrix:", expanded_matrix)

# 计算range_tensor的最大值
max_value = tf.reduce_max(range_tensor)
tf.print("Max Value:", max_value)

# 计算range_tensor的最小值
min_value = tf.reduce_min(range_tensor)
tf.print("Min Value:", min_value)

# 创建一个形状为 [2, 3] 的全1矩阵
ones_matrix = tf.ones(shape=[2, 3])
tf.print("Ones Matrix:", ones_matrix)

# 对ones_matrix按行进行求和
row_sum = tf.reduce_sum(ones_matrix, axis=1)
tf.print("Row Sum:", row_sum)
